package com.dadaguai.utils;

import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.data.redis.core.StringRedisTemplate;



public class Tools {

    public static boolean isEmpty(String s){
        return s == null || s.trim().isEmpty() || "null".equals(s);
    }

    /**
     * 生成随机字符串
     * @param count 字符串长度
     * @return 随机String
     */
    public static String createCode(Integer count){
        return RandomStringUtils.randomAlphanumeric(count);
    }

    /**
     * redis id生成器
     * @param redisTemplate
     * @param busId 业务id
     * @return
     */
    public static  String createId(StringRedisTemplate redisTemplate, String busId){
        //保存redis中的key，注意不要重复
        String redisKey = "unique:id";
        //利用increment即redis原生incrBy命令的原子性特性生成递增的序列号
        Long increment = redisTemplate.opsForValue().increment(redisKey, 1);
        if (increment == null) {
            throw new RuntimeException("redis命令执行失败");
        }
        //业务id+递增id，如果需要纯数字，去掉业务id即可
        return busId + increment;
    }

}
